草庐IT

React 组件

全部标签

javascript - React.js - 在 Render 中区分加载/空状态的简洁方法

我有我的组件:getInitialState(){return{items:[]};},componentDidMount(){//makeremotecalltofetch`items`this.setState({items:itemsFromServer})},render(){if(!this.state.items.length){//showemptystate}//outputitems}极度做作/沙盒化,但这是一般的想法。当您第一次加载该组件时,您会看到一闪而过的“空状态”HTML,因为服务器尚未返回任何数据。有没有人有一种方法/ReactWay™来处理是否实际上没有数

javascript - React.js 中已弃用的 setProps() 的替代方案是什么?

我刚刚将项目的React版本升级到13.3,setProps()不再有效。我在这个Mocha测试中使用它,但我不确定现在如何重写它。我有哪些选择?it('reloadssearchresultswhenpropschange',function(){varloadResultsSpy=sinon.spy(searchView,'loadSearchResults');varnewProps={searchBy:'foo',searchTerm:'bar'};searchView.setProps(newProps);expect(loadResultsSpy.calledWith(ne

javascript - TypeScript、React 和 Gulp.js - 定义 React

我正在尝试创建一个工作流程,我可以在其中使用TypeScript编写React模块并通过Gulp.js自动编译为JavaScript。我正在使用TypeScript1.6.2、gulp-react和gulp-typescript。我的.tsx文件现在看起来像这样:///importReact=__React;interfaceHelloWorldProps{name:string;}varHelloMessage=React.createClass({render:function(){returnHello{this.props.name};}});React.render(,doc

javascript - 用 enzyme react 测试组件 Prop 变化

我正在修改此处找到的示例:https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/setProps.mdclassFooextendsReact.Component{render(){return({}}/>);}}it('shouldpassanddoesnot',()=>{constwrapper=mount();expect(wrapper.find('.foo').html()).toBe(``);wrapper.setProps({name:'bar'});expect(wrapper.find('

javascript - Angular 1.5 中的组件和指令

Angular1.5中的重大功能变化正在周边支持components.component('myComponent',{template:'Hello{{$ctrl.getFullName()}}',bindings:{firstName:'虽然这一切都很好,但我不确定这与指令有何不同。与传统的自定义指令相比,使用components有什么好处?Angular1.5和Angular2中的组件是否相同? 最佳答案 .component不会像@rekŻelechowski所说的那样替换.directive。所以..没有什么是.compo

javascript - 测试 Vue.js 组件

我想测试一个Vue.js组件,但我失败了。简单地说,我正在设置一个组件属性,我想断言它设置正确。如果这很重要,模块将加载导出,并使用Webpack输出JS。//componentexports=module.exports={};module.exports={data:function(){return{active:false};},methods:{'close':function(){console.log(this.active);//->truethis.active=false;console.log(this.active);//->false}}};//compone

javascript - 更新深层不可变状态属性时,Redux 不更新组件

我的问题:为什么在我的不可变状态(映射)中更新数组中对象的属性不会导致Redux更新我的组件?我正在尝试创建一个将文件上传到我的服务器的小部件,我的初始状态(来self的UploaderReducer内部,您将在下面看到)对象如下所示:letinitState=Map({files:List(),displayMode:'grid',currentRequests:List()});我有一个thunk方法,它在事件发生时(例如进度更新)开始上传和分派(dispatch)操作。例如,onProgress事件如下所示:onProgress:(data)=>{dispatch(fileUpl

javascript - 带有 redux 和 react 的多个注册表

我一直在尝试开发一个类似于airbnb列表表单的仪表板表单,以便更深入地了解Reactredux,但我被困在我的项目中间。我有一个多表单,当用户点击继续按钮时,用户将获得另一个表单来填写等等,如果用户点击后退按钮,用户将获得一个返回前一步的表单,其中包含之前填写的值。我无法决定我应该为此做什么。我是否必须创建一个正在运行的对象作为listingName。摘要、姓名、电子邮件等作为空值,并使用Object.assign()或其他方式使用reducer更新它。直到现在我只能开发像当用户点击个人选项卡时显示与个人信息相关的表格,当用户点击基本选项卡时,显示与基本信息相关的表格。我希望所有表单

javascript - 在 Angular 2 中的多个组件之间共享 WebSocket 数据的最佳方式?

我开始构建一个应用程序。有很多组件。他们每个人都需要来自1个webSocket的一部分数据。webSocket接收对象示例:每个Angular2组件都需要来自接收对象的1个字段。是否可以创建1个服务,连接到webSocket,接收数据并在所有组件之间共享?我认为这将是一个很好的解决方案。现在我正在使用下一种方法:getConfigCallback(){this.connectionSockets.telemetry=io(this.config.connections.telemetry);this.connectionSockets.controlFlow=newWebSocket(

javascript - react cloneElement 不设置键

我正在构建一个动态生成键的表控件(我理解这可能不是一个好主意——我认为键应该与它所代表的数据唯一关联,否则React只能为我们生成唯一的ID?),但无论哪种方式,似乎都没有设置key,我不知道为什么。表中的行是用可以找到的函数生成的here.基本上我有一个helpercomponent它采用可选组件来转换所有子元素-这是其中一个转换函数(来自TableBody组件):consttransformRows=(keyPrefix)=>(children,passthroughProps)=>(React.Children.map(children,(c,i)=>{returnReact.c